﻿/*
 * 准确的说数据
 *
*/
#pragma once
#include "gtools.h"
enum DataType{
    TYPE_LINE,  //线段
    TYPE_CIRCLE, //实体圆

    TYPE_EDGE

};
struct Data
{
    Data(){ pData = nullptr;}
    void *pData;
    DataType type;
};
//不支持直接创建点，所以 就不用继承Data了
struct Vertex {
    Vec2f pos;      //位置
    Vec3f color;    //颜色
};
struct LineData : public Data
{
    LineData()
    {
        type = TYPE_LINE;
        pData = pos;
        lineWidth = 1;
    }
    Vertex pos[2];
    float lineWidth;
    float lineType; //实线 虚线 ？
};
struct CircleData : public Data
{
     CircleData()
     {
        type = TYPE_CIRCLE;
     }
     Vertex center; //包含颜色和圆心位置
     float lineType;
     float radius;
};
